Sound processors produce sound by controlling digital data, which is transformed into a voltage by means of a digital-to-analog converter (DAC). This voltage is used to drive a speaker system to create sound. Sound processors that are wave-table-based use sound data from memory as a source, and modify that sound by: altering the pitch; controlling the volume over time; transforming the sound through the use of filters; and employing other effects.
Polyphonic sound processors create multiple sounds simultaneously by creating independent sound streams and adding them together. Each separate sound that can be played simultaneously is referred to as a voice, and each voice has its own set of control parameters.
2-dimensional (2D) sound refers to sounds that are produced in such a way that the listener perceives them as originating from the left or from the right in 2D space relative to the listener.
3-dimensional (3D) sound refers to sounds that are produced in such a way that the listener perceives them as originating at any point in 3D space relative to the listener. Sound processors that process 3D sound require additional processing time to produce 3D sound.
Generating 3D sound requires much more processing than generating 2D sound. If all voices were to be capable of generating 3D sound, the necessary hardware to generate the voices, and the power consumption of the hardware would be greatly increased. In many applications, it is not necessary for all voices to be 3D, since sounds such as background music are generally 2D.
To allow efficient processing of 3D sound and 2D sound, it is possible to include separate 2D and 3D voice engines. However, this necessitates a method to alleviate contention for common resources between the 3D voice engine and 2D voice engine. Typical methods of alleviating the contention are to have separate RAMs, to have dual-ported RAMs, or to stall one of the engines when contention for a resource occurs. All of these methods have a die size or performance penalty.
Accordingly, what is needed is a more efficient system and method for implementing a sound processor. The system and method should be able to perform low-power operations, and should be simple, cost effective and capable of being easily adapted to existing technology. The present invention addresses such a need.